package com.wsoft.cms.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wsoft.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * <p>
 * 新闻公告表
 * </p>
 *
 * @author juiet
 * @since 2024年11月27日 10:32:23
 */
@Getter
@Setter
@TableName("cms_announcement")
@Schema(name = "CmsAnnouncementEntity", description = "新闻公告表")
public class CmsAnnouncementEntity extends BaseEntity {

    @Schema(description = "分类id")
    @TableField("category_id")
    private Long categoryId;

    @Schema(description = "标题")
    @TableField("title")
    private String title;

    @Schema(description = "内容")
    @TableField("msg_content")
    private String msgContent;

    @Schema(description = "开始时间")
    @TableField("start_time")
    private LocalDateTime startTime;

    @Schema(description = "结束时间")
    @TableField("end_time")
    private LocalDateTime endTime;

    @Schema(description = "优先级（L低，M中，H高）")
    @TableField("priority")
    private String priority;

    @Schema(description = "通告对象类型（ALL:全体用户,ORG:指定组织,POST:指定岗位,LEVEL：指定职务级别，MEMBER:指定用户）")
    @TableField("msg_type")
    private String msgType;

    @Schema(description = "指定对象")
    @TableField("msg_ids")
    private String msgIds;

    @Schema(description = "设备端")
    @TableField("device")
    private String device;

    @Schema(description = "发布状态（0未发布，1已发布，2已撤销）")
    @TableField("send_status")
    private String sendStatus;

    @Schema(description = "发布单位")
    @TableField("send_org_id")
    private Long sendOrgId;

    @Schema(description = "发布人")
    @TableField("send_member_id")
    private Long sendMemberId;

    @Schema(description = "发布时间")
    @TableField("send_time")
    private LocalDateTime sendTime;

    @Schema(description = "撤销时间")
    @TableField("cancel_time")
    private LocalDateTime cancelTime;

    @Schema(description = "流程key")
    @TableField("business_code")
    private String businessCode;

    @Schema(description = "流程状态")
    @TableField("status")
    private Integer status;

    @Schema(description = "摘要")
    @TableField("anno_abstract")
    private String annoAbstract;

    @Schema(description = "关键字")
    @TableField("keyword")
    private String keyword;

    @Schema(description = "是否置顶")
    @TableField("is_top")
    private Integer isTop;

    @Schema(description = "置顶时间")
    @TableField("top_time")
    private LocalDateTime topTime;

    @Schema(description = "是否消息提醒")
    @TableField("is_warm")
    private Integer isWarm;

    @Schema(description = "是否开启评论")
    @TableField("is_comment")
    private Integer isComment;

    @Schema(description = "是否需要报名")
    @TableField("is_sign")
    private Integer isSign;
}
